In many computer systems, a virtual machine may be used as a secure virtual machine for the execution of trusted software tasks or programs, such as secure financial transactions, authentication routines, or similar tasks that require security. Typically, most devices in the computer system that the secure virtual machine may need access to are also assigned to at least one other virtual machine and, therefore, must be shared between them. Only a few devices, such as a fingerprint reader, may be exclusively assigned to the secure virtual machine. In order to ensure that the secure virtual machine receives timely interrupts from the shred devices assigned to it, interrupts generated by those devices are virtualized such that each interrupt exits into a virtual-machine monitor, and the virtual-machine monitor then decides which virtual machine a given interrupt belongs to. The exiting into the virtual-machine monitor and subsequent injection of the appropriate interrupt is, however, a time- and power-consuming procedure that may consume approximately 3,000-4,000 processor cycles.